package main

// import (
// 	"fmt"
// 	"io/ioutil"
// 	"os"
// 	"path/filepath"
// 	"strings"
// )

// func main() {
// 	// 获取当前程序所在的目录
// 	dir, err := os.Getwd()
// 	if err != nil {
// 		fmt.Println("无法获取当前目录:", err)
// 		return
// 	}

// 	// 扫描目录并生成结构文本
// 	structure := generateDirectoryStructure(dir, "")

// 	// 保存结构文本到新的文本文件
// 	err = saveStructureToFile(structure)
// 	if err != nil {
// 		fmt.Println("无法保存结构文本:", err)
// 		return
// 	}
// }

// func generateDirectoryStructure(dirPath, indent string) string {
// 	var structure strings.Builder

// 	// 读取目录下的文件和子目录
// 	files, err := ioutil.ReadDir(dirPath)
// 	if err != nil {
// 		fmt.Println("无法读取目录:", err)
// 		return ""
// 	}

// 	// 遍历文件和子目录
// 	for _, file := range files {
// 		// 排除.git文件夹
// 		if file.Name() == ".git" {
// 			continue
// 		}

// 		// 打印目录或文件名称
// 		if file.IsDir() {
// 			structure.WriteString(fmt.Sprintf("%s|-- %s\n", indent, file.Name()))

// 			// 递归生成子目录结构文本
// 			subDirPath := filepath.Join(dirPath, file.Name())
// 			subStructure := generateDirectoryStructure(subDirPath, indent+"  ")
// 			structure.WriteString(subStructure)
// 		} else {
// 			structure.WriteString(fmt.Sprintf("%s|-- %s\n", indent, file.Name()))
// 		}
// 	}

// 	return structure.String()
// }

// func saveStructureToFile(structure string) error {
// 	// 创建新的文本文件
// 	file, err := os.Create("directory_structure.txt")
// 	if err != nil {
// 		return err
// 	}
// 	defer file.Close()

// 	// 将结构文本写入文件
// 	_, err = file.WriteString(structure)
// 	if err != nil {
// 		return err
// 	}

// 	return nil
// }
